package au.com.iglootech.winerymap.service;

import java.io.Serializable;
import java.util.List;

import au.com.iglootech.winerymap.entity.WineryInfo;

import com.google.appengine.api.datastore.Key;

/**
 * 
 * @author nicholas zhu
 * 
 */
public interface WineryInfoService extends Serializable {

	/**
	 * find all winery.
	 * 
	 * @return list of winery
	 */
	List<WineryInfo> findAll();

	/**
	 * 
	 * @param key
	 *            key
	 * @return winery
	 */
	WineryInfo findByKey(Key key);

	/**
	 * 
	 * @param info
	 *            entity
	 * @return persistent entity
	 */
	WineryInfo createWineryInfo(WineryInfo info);
	
	/**
	 * add a new winery
	 * @param name
	 * @param region
	 * @param address1
	 * @param address2
	 * @param website
	 * @param telephone
	 * @param winemaker
	 * @param wineryards
	 * @param facsimilie
	 * @param description
	 * @param lat
	 * @param lng
	 * @return value of key
	 */
	String addNewWineryInfo(String name, String region, String address1,
			String address2, String website, String telephone,
			String winemaker, String wineryards, String facsimilie,
			String description, String lat, String lng);
}
